如何从列表中删除一个字符[重复]

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,而没有引号(作为显示)的5int,一个数字

所以你需要的是转换

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]

【讨论】:

以上是关于如何从列表中删除一个字符[重复]的主要内容,如果未能解决你的问题,请参考以下文章

从 Google 协议缓冲区中的重复字符串(列表)中删除一个随机值

如何在保留顺序的同时删除列表中的重复元素?

从包含特定字符的列表中删除元素[重复]

如何从列表中删除一个特定元素[重复]

从列表中的字符串中删除违规字符[重复]

使用循环从字符数组列表中删除重复项? [复制]