如何从列表中删除一个字符[重复]
Posted
技术标签:
【中文标题】如何从列表中删除一个字符[重复]【英文标题】:how to remove a character from a list [duplicate] 【发布时间】:2021-10-23 03:48:50 【问题描述】:我正在制作一个简单的彩票游戏。
例如,这是我抽奖的随机输出示例:
winning_num = [1, 2, 4, 3]
然后这是提示用户输入 4 个值的示例输出:
guessed_num = ['1', '2', '4', '3']
每当我比较它们时,它都会返回 False,显然是因为它们彼此不同。所以我想知道如何删除guessed_num 中的(') 字符,这样它会是相同的,并且可能给我一个True。
我不能简单地删除 (') 字符,我需要一个函数来删除它们。
【问题讨论】:
@sushanth 我觉得问题不止于此,他不懂类型的概念 【参考方案1】:您似乎不了解您的内容的性质。简单的引号'
是不是您内容的一部分,它只是表明您的内容是string
,而没有引号(作为显示)的5
是int
,一个数字
所以你需要的是转换
x = '5' # type str
x = 5 # type int
5 == int('5')
所以
guessed_num = [int(i) for i in guessed_num]
【讨论】:
或list(map(int, guessed_num))
但我认为这不会有任何区别:)
不,它还带有字符串。所以猜测的 _num 可能是 int 和 str 的列表组合
@equinox_xy,所以不用将guessed_num转换为整数,您可以将winning_num
转换为winning_num = list(map(str, winning_num))
的列表【参考方案2】:
input()
函数返回用户输入的string
,这意味着当您将用户的猜测放入guessed_num
时,您正在制作string
变量的列表,因此显然它们不会等于整数.所以你需要把它变成一个数字,像这样:
guessed_num = [int(i) for i in guessed_num]
输入:guessed_num = ['1', '2', '4', '3']
输出:guessed_num = [1, 2, 4, 3]
【讨论】:
以上是关于如何从列表中删除一个字符[重复]的主要内容,如果未能解决你的问题,请参考以下文章